package com.lcgs.manage.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lcgs.common.annotation.Excel;
import com.lcgs.common.core.domain.BaseEntity;

/**
 * 合作商家管理对象 tb_merchant
 * 
 * @author lc
 * @date 2025-09-16
 */
public class Merchant extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商家ID */
    private Long merchantId;

    private Long userId;
    /** 商家名称 */
    @Excel(name = "商家名称")
    private String name;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 合作状态 (1:合作中, 2:合作过期, 3:暂停合作) */
    @Excel(name = "合作状态 (1:合作中, 2:合作过期, 3:暂停合作)")
    private Integer cooperationStatus;

    /** 合作期限 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合作期限", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cooperationTerm;

    /** 所属区域ID */
    @Excel(name = "所属区域ID")
    private Long regionId;

    public void setMerchantId(Long merchantId) 
    {
        this.merchantId = merchantId;
    }

    public Long getMerchantId() 
    {
        return merchantId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public Long getUserId()
    {
        return userId;
    }

    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setCooperationStatus(Integer cooperationStatus) 
    {
        this.cooperationStatus = cooperationStatus;
    }

    public Integer getCooperationStatus() 
    {
        return cooperationStatus;
    }

    public void setCooperationTerm(Date cooperationTerm) 
    {
        this.cooperationTerm = cooperationTerm;
    }

    public Date getCooperationTerm() 
    {
        return cooperationTerm;
    }

    public void setRegionId(Long regionId) 
    {
        this.regionId = regionId;
    }

    public Long getRegionId() 
    {
        return regionId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("merchantId", getMerchantId())
            .append("name", getName())
            .append("phone", getPhone())
            .append("address", getAddress())
            .append("cooperationStatus", getCooperationStatus())
            .append("cooperationTerm", getCooperationTerm())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("regionId", getRegionId())
            .toString();
    }
}
